import axios from 'axios'
//引入封装好的路由文件
import router from '../router'
import store from '../store'

//重新创建一个实例
const http = axios.create({
    baseURL: '/api'
})

//请求拦截
http.interceptors.request.use(req => {
    // console.log(req,'请求');
    // 因为登录不需要验证token，所以可以剔除登录判断
    if (req.url != '/userlogin') {
        //这里设置请求头
        req.headers.authorization = store.getters.getUserInfo.token
    }

    return req
})
//响应拦截
http.interceptors.response.use(res => {
    //全局拦截错误  改变返回数据

    //注：正常工作还是要以code来区分。因为正常的后端会以不同的code值代表不同的全局错误
    if (res.data.msg == '请设置请求头,并携带验证字符串') {
        alert(res.data.msg)
        //跳转到登录页
        router.push('/login')
    } else if (res.data.msg == '登录已过期或访问权限受限') {
        alert(res.data.msg)
        //跳转到登录页
        router.push('/login')
    } else {
        return res.data
    }

})

export default http